import java.util.Stack;

/**
 * ClassName: class_250831
 * Package: PACKAGE_NAME
 * Description:
 *
 * @Author harkjeans
 * @Create 2025/8/31 16:30
 * @Version 1.0
 */
public class class_250831 {
//    一、核心内存区域的功能
//    堆（Heap）
//    存放内容：所有对象实例（new关键字创建的对象）以及数组。
//    特点：
//    是JVM中最大的一块内存区域。
//    被所有线程共享。
//    是垃圾回收器（GC）管理的主要区域。
//    可以进一步划分为新生代（Young Generation）、老年代（Old Generation）等，用于更高效的GC。

//    栈（Stack）
//    存放内容：
//    局部变量：基本数据类型的值（如 int a = 5;）和对象引用（即指向堆中对象地址的指针）。
//    方法的调用帧（存储方法的参数、局部变量、返回地址等）。
//    特点：
//    每个线程有自己独立的栈。
//    遵循“后进先出”（LIFO）的原则。
//    方法执行完，其对应的栈帧就会被自动弹出销毁。

//    方法区（Method Area）
//    存放内容：
//    类的元数据（Class Metadata）：类信息、常量池（Constant Pool）、字段描述、方法描述、构造方法描述等。
//    静态变量（Static Variables）。
//    运行时常量池。
//    特点：
//    被所有线程共享。
//    在逻辑上是堆的一部分，但为了与“Java堆”区分，通常称之为“非堆”（Non-Heap）。

//    二、成员变量（实例变量）与局部变量
//    成员变量存储在heap中，局部变量存储在stack中。原因在于局部变量在函数内，函数栈帧在stack中。
//    生命周期：成员变量 —— 在堆中被创建，被GC回收后消亡；局部变量 —— 函数栈帧的创建与销毁。
//    前者有默认值，后者必须初始化。
//
//    三、方法（函数）
//    方法必须定义在类中。


}
